﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Common;

namespace Vit.Data
{
    public interface IDbConnectionVisitor
    {
        bool IsVisiting(DbConnectionWrapper connectionWrapper);

        void OnConnectionStateChange(object sender, StateChangeEventArgs e);

        void OnCommandExecuting(object sender, CommandExecutionEventArgs e);
        void OnCommandExecuted(object sender, CommandExecutionEventArgs e);
        void OnCommandFailed(object sender, CommandExecutionEventArgs e);

        void OnTransactionCommit(object sender, TransactionEventArgs e);
        void OnTransactionRollback(object sender, TransactionEventArgs e);
    }
}
